This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 11-201969, filed Jul. 15, 1999, the entire contents of which are incorporated herein by reference.
This invention relates to a data processing system for handling digital data, such as digital broadcast programs, and a time stamp creating method used in the system.
With the recent advancement in computer technology, various multimedia-compatible electronic apparatuses have been developed. They include digital videoplayers, set-top boxes, digital TVs, digital Video Cassette Recorders (VCRs), and personal computers. This type of electronic equipment can deal with various types of audio/video data supplied by satellite broadcasting or the like. The audio/video data are encoded by a moving-picture high-efficient coding scheme called Moving Picture Experts Group 2 (MPEG 2). Thereafter, the encoded data are transmitted to each home in the form of digital data streams known as transport streams.
To decode and reproduce the digital data streams transmitted in real time from a broadcasting station, it is necessary to synchronize the system clock of the decoder on the reception side with the system clock on the transmission side by using the Program Clock Reference (PCR) included as a synchronizing reference clock in the digital data streams. The reason for this is that all the presentation timing and decode timing of audio/video data are controlled on the basis of the system clock to prevent a time lag between the system clock on the transmission side and that on the reception side and such a time lag would cause the display to be distorted or the buffer on the decoder side to undergo overflow or underflow.
In the case of a receiving device where a tuner section for receiving the digital data streams from a broadcasting,station and a decoder section are placed in the same set, the clock system of the decoder can be corrected with relative ease. The reason for this is that the PCR included in the digital stream data is transmitted periodically such that the PCR can be transmitted from the tuner section to the decoder section without delay.
A problem arises when the received digital stream data is sent to the decoder by way of an IEEE 1394 serial bus. The IEEE 1394 serial bus has a transfer mode guaranteeing real-time features known as isochronous transfer and can transfer transport packets in real time. Even when the isochronous transfer is used, jitters cause a difference in transmission delay between the transport packets. If the difference in transmission delay causes variations in the arrival time of the PCRs, this leads to fluctuations in the system clock on the decoder side, which prevents the system clock on the decoder side from being synchronized with the system clock on the broadcasting station side.
The standard to solve the problem is IEC 61883. IEC 16883 specifies a time stamp called a source packet header (SPH) to be added to a transport packet and then transmitted. In the 1394 Link on the transmission side, the time a transport packet to be transmitted has arrived is inserted into the source packet header and then transmitted. In the 1394 Link on the reception side, the timing of the transport packet on the transmission side is restored using a timing adjusting circuit (pacer) specified by IEC 61883. That is, when the tuner is connected to the decoder via a 1394 serial bus at the 1394 Link provided in the tuner, a time stamp is added to a transport packet and then the resulting packet is sent to the decoder, which makes it possible to restore, on the decoder side, the timing of the packet transmitted from the broadcasting station and received by the tuner.
However, when a tuner for digital satellite broadcasting is implemented in a personal computer (PC), the following problem arises.
In the PC, the digital data streams received by the tuner are usually transferred to the 1394 Link via the CPU. In this case, the digital data streams received by the tuner have to be passed through the internal bus (Peripheral Component Interface (PCI) bus and others) once. The present PC architecture, however, has no mechanism for guaranteeing real-time transactions or the like on the internal bus. Therefore, it is impossible to transfer the received data to the 1394 Link, while keeping the timing of the digital data streams from the broadcasting station received by the tuner.
In this case, the time the transport packet arrives at the 1394 Link in the PC varies significantly from packet to packet. Thus, even if a source packet header is added to the transport packet at the 1394 Link and transmitted to the decoder on the 1394 serial bus, it is utterly impossible to restore, on the decoder side, the timing of the data transmitted from the broadcasting station.
Generally, an IEC 61883 timing adjusting circuit is not provided in the 1394 Link for the PC. For this reason, it is difficult for the PC to restore the timing of the digital data streams sent by way of the 1394 serial bus. This becomes a problem when the digital data streams recorded in a storage medium are transmitted again via the 1394 serial bus to the decoder, after the digital data streams sent via the 1394 serial bus have been recorded in the storage medium of the PC.
In other words, when the digital data streams are recorded in the storage medium, a process is needed in which the arrival time of the transport packets whose timing has been adjusted by the pacer are recorded together with the transport packets in the storage medium, and on reproduction, a source packet header is generated using the recorded arrival time.
Because the PC has no pacer as described above, it is impossible to restore the timing of the received transport packets exactly. Consequently, the exact arrival time of the transport packets cannot be recorded, therefore, even if the transport packets have been recorded., it is impossible to send them properly via the 1394 serial bus.
It is, accordingly, an object of the present invention to provide a data processing system and a time stamp creating method which enable a correct time stamp to be always created even in a system without a mechanism for guaranteeing real-time features, such as a PC, and are suitable for the processing of audio/video data required to have real-time features.
The foregoing object is accomplished by providing a data processing system for adding a time stamp to compensate for the corresponding transmission delay difference to each of transmission packets constituting a digital data stream to be transmitted to an external node and for transmitting the resulting packets, the data processing system comprising: an internal bus; digital data receiving means connected to the internal bus and for adding time information indicating the corresponding reception time to each of the packets constituting a digital data stream externally received and for outputting the resulting packets onto the internal bus; and means connected to the internal bus for receiving packets to which the time information has been added and for creating a time stamp to be added to a transmission packet to be transmitted to the external node on the basis of the time information in each of the packets received.
In the data processing system, when digital stream data transmitted from a broadcasting station or the like is received, the receiving means adds time information indicating the corresponding reception time to each of the packets constituting the received digital data stream and then outputs the resulting packets onto the internal bus. Because the receiving means adds the reception time to each packet before outputting them onto the internal bus, the reception side that receives the digital data stream from the receiving means via the internal bus can know the timing of the digital stream data from the broadcasting station received by the receiving means. Thus, on the basis of the reception time difference between the packets obtained from the time information in each packet received from the receiving means, the reception side can create the correct time stamp. Therefore, by adding the created time stamp to transmission packets and transmitting the resulting packets to an external node, such as a decoder, the digital data stream can be decoded and reproduced correctly.
It is desirable that means for clocking the same time as that at the external node by periodic time adjustment with the external node should be used to create a time stamp.
It is also desirable that the time stamp creating means, in the case of a first transmission packet in the digital data stream, should read the current time from the clocking means and determine a time stamp to be added to the first transmission packet on the basis of the current time read, and in the case of each of the subsequent transmission packets, should determine a time stamp to be added to each of the subsequent transmission packets by adding the difference between the time information added to each packet and the time information in the first transmission packet to the value of the time stamp added to the first transmission packet. In this case, because the current time from the clocking means should be referred only for the first packet, even if the clocking means must be accessed via the internal bus, the correct time stamp synchronizing with the external node can be created without increasing the traffic on the internal bus.
Furthermore, it is desirable that the receiving means should add the reception time to each of the ATM cells, the minimum units of packets for transmitting a digital data stream. It is also desirable that the time stamp creating means should assemble a transport packet used as a transmission packet by grouping the ATM cells in units of a predetermined number of cells, detect the time information added to the first ATM cell in each of assembled transport packets, and create a time stamp according to the detected time information in each transport packet.
Thus, in a system that extracts a necessary one program of digital streams from those onto which data of multiple programs have been multiplexed and transmits the extracted ones to the external node, even when any program is required, the correct time information corresponding to the transport packet of the program can be obtained. This makes it possible to create the correct time stamp from the time information.
According to another aspect of the present invention, there is provided a data processing system comprising: an internal bus; digital data receiving means connected to the internal bus for receiving a digital data stream onto which data of plural programs have been multiplexed, for adding time information indicating the corresponding reception time to each of the packets constituting the digital data stream received, and for outputting the resulting packets onto the internal bus; separating means connected to the internal bus for extracting digital data streams for one predetermined program from those received via the internal bus and for creating a time stamp indicating the corresponding reception time at the receiving means of each of the transmission packets constituting the digital data streams for one predetermined program on the basis of the time information in each packet; and means connected to the internal bus for adding the corresponding time stamp to each of the transmission packets constituting the digital data streams for one predetermined program and for transmitting the resulting packets to an external node on the basis of the output from the separating means.
The creation of a time stamp at the separating means enables even transmitting means without a time creating function to transmit a transmission packet with the correct time stamp to the external node.
According to still another aspect of the present invention, there is provided a data processing system for adding a time stamp to compensate for the corresponding transmission delay difference to each of transmission packets constituting a digital data stream and for transmitting the resulting packets, the data processing system comprising: means for converting the value of the time stamp added to each of the transmission packets received from an external node so that the value of the time stamp may adapt for a reference clock necessary for reproduction of the digital data stream, on the basis of the ratio of a reference clock used to create the time stamp to the reference clock necessary for reproduction of the digital data stream; and means for recording the converted value of the time stamp as information on the arrival time of the transmission packet into a storage medium in such a manner that the converted value corresponds to the transmission packet.
In this way, the value of the time stamp added to each of the transmission packets received from the external node is converted so that the value of the time stamp may adapt for the reference clock necessary for reproduction of the digital data stream, and the converted value is recorded as arrival time information together with the transmission packet. This enables a system without a timing adjusting circuit to add the correct time stamp to the recorded digital data stream and send the resulting stream to the external node.
Additional objects and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and obtained by means of the instrumentalities and combinations particularly pointed out hereinafter.